home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 1 / Gekikoh Dennoh Club Vol. 1 (Japan).7z / Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin / kowin / archive / apl / beav13ko.lzh / beav132a.txt < prev    next >
Text File  |  1994-03-16  |  35KB  |  1,051 lines

  1.                                 
  2.                                 
  3.                                 
  4.                                 
  5.                                 
  6.                                 
  7.                                 
  8.                                 
  9.                                THE
  10.                                 
  11.                                 
  12.                               BEAV
  13.                                 
  14.                                 
  15.                                 
  16.                                 
  17.                     Binary Editor And Viewer
  18.                                 
  19.                                 
  20.                                 
  21.                                 
  22.                                 
  23.                                 
  24.                       Manual Copyright 1991
  25.                           Version 1.32
  26.                         November 8, 1991
  27.                                 
  28.                                 
  29.                                 
  30.                                By
  31.                           Peter Reilley
  32.                         19 Heritage Cir.
  33.                        Hudson, N.H. 03051
  34.                           pvr@wang.com
  35.                                 
  36.                                 
  37.                                 
  38.                                 
  39.                                 
  40.                                 
  41.                                 
  42.             BEAV source and executable can be freely
  43.             distributed for non-commercial purposes.
  44.                                 
  45.                                 
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                                 1
  59.  
  60.                       BEAV User Manual
  61.  
  62.  
  63.                      Table of Contents
  64.  
  65.  
  66. 1.0  Introduction                                          3
  67.     1.1   Quick Start                                      3
  68.  
  69. 2.   Overview                                              5
  70.     2.1   Terms and Definitions                            5
  71.     2.2   The Screen Format                                5
  72.     2.3   Display Modes                                    6
  73.     2.4   Commands                                         7
  74.     2.5   Buffers                                          8
  75.     2.6   Files                                            8
  76.     2.7   Key Binding                                      9
  77.     2.8   Configuration                                    9
  78.  
  79. 3.   Command Description                                  11
  80.     3.1   Help                                            11
  81.     3.2   Cursor Movement                                 11
  82.     3.3   Buffer Management                               13
  83.     3.4   File Management                                 14
  84.     3.5   Window Management                               16
  85.     3.6   Inserting and deleting                          18
  86.     3.7   Search and Replace Commands                     19
  87.     3.8   Exiting BEAV                                    21
  88.     3.9   Printing                                        21
  89.     3.10  Keyboard Macros                                 22
  90.     3.11  Key Binding                                     22
  91.     3.12  Special Functions                               23
  92.  
  93. 4.   Alphabetical list of commands by name                26
  94.  
  95. 5.   Alphabetical list of commands by key binding         29
  96.  
  97. 6.   Release notes                                        32
  98.  
  99. 7.   Source Availability                                  34
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.                                 2
  121.  
  122.                       BEAV User Manual
  123.  
  124.  
  125.  
  126.  1.0     Introduction
  127.  
  128.       BEAV is an editor that brings the features of a powerful
  129. full screen editor to the editing of binary files.   It is the
  130. only editor that I know of that does that.
  131.  
  132.       When you need to edit a non-text file you generally have
  133. two choices; a text editor or a file zap type editor.   Each
  134. choice has significant disadvantages.
  135.  
  136.       Text editors expect the file to be formatted in a certain
  137. way.   At a minimum they expect that all lines be terminated by a
  138. carriage return or line feed and be limited in length.   There is
  139. no line length limit with BEAV.   Most text editors get confused
  140. by bytes that are outside of the normal range (20 to 7E HEX).
  141. In BEAV no special characters such as carriage return or line
  142. feed affect the display aside from producing their numeric value.
  143. BEAV can edit any file no matter the format.
  144.  
  145.       The other choice is to use a file zap type editor which can
  146. edit a binary file without difficulty.  These editors are often
  147. very limited in their features and capabilities.   Most file zap
  148. programs can edit a file only in HEX or ASCII.   They generally
  149. operate on a sector basis and because of this they cannot insert
  150. or delete data in the middle of the file.
  151.  
  152.       All these limits are eliminated in BEAV.   You can edit a
  153. file in HEX, ASCII, EBCDIC, OCTAL, DECIMAL, and BINARY.   You can
  154. search or search and replace in any of these modes.   Data can be
  155. displayed in BYTE, WORD, or DOUBLE WORD formats.   While
  156. displaying WORDS or DOUBLE WORDS the data can be displayed in
  157. INTEL's or MOTOROLA's byte swap format.   Data of any length can
  158. be inserted at any point in the file.   The source of this data
  159. can be the keyboard, another buffer, of a file.   Any data that
  160. is being displayed can be sent to a printer in the displayed
  161. format.   Files that are bigger than memory can be handled.
  162.  
  163.       Some users may recognize the similarity to the EMACS text
  164. editor that was written by Richard Stallman at MIT.   This is not
  165. a coincidence.   I attempted to keep as much of the user
  166. interface and functionality as possible given the very different
  167. tasks of EMACS and BEAV.
  168.  
  169.    1.1   Quick Start
  170.  
  171.       This is a brief description of the minimal set of commands
  172. that are necessary to start using BEAV effectively.
  173.  
  174.       The file-visit command, Ctl-X Ctl-V, can be used to read a
  175. file in for editing.   The file can also be read in from the
  176. command line; beav <edit_file>.
  177.  
  178.       These commands can be used to navigate around the window.
  179.  
  180.  
  181.  
  182.                                 3
  183.  
  184.                       BEAV User Manual
  185.  
  186.  
  187.            move-back-char      Ctl-B     moves left
  188.            move-back-line      Ctl-P     moves up
  189.            move-forw-char      Ctl-F     moves right
  190.            move-forw-line      Ctl-N     moves down
  191.  
  192.       The move-to-byte command, Ctl-X G, will prompt you for a
  193. byte position to move to.
  194.  
  195.       These commands will insert a zero byte at the cursor
  196. position or delete the byte at that position.
  197.            insert-unit         Ctl-X I
  198.            delete-forw-unit    Esc D
  199.  
  200.       The file-save command, Ctl-X Ctl-S, will save the data to
  201. the file if a change has been made.
  202.  
  203.       The help command, Esc ?, will display a list of all
  204. commands and their current key bindings.
  205.  
  206.       The abort-cmd command, Ctl-G, will abort any command that
  207. is in operation.
  208.  
  209.       The quit-no-save command, Ctl-X Ctl-C, will exit BEAV.   If
  210. there is any data that has not been saved you will be warned.
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.                                 4
  245.  
  246.                       BEAV User Manual
  247.  
  248.  
  249.  2. Overview
  250.  
  251.  
  252.    2.1  Terms and Definitions
  253.  
  254.       Throughout this manual certain terms will be used to
  255. describe the operation and structure of BEAV.
  256.  
  257.       The data that BEAV is editing is held in a buffer that is
  258. structured as a byte stream.   There are many commands that
  259. affect the way that this byte stream is displayed on to the
  260. screen.   Whatever display mode is chosen the data in the buffer
  261. is not effected, only the presentation.
  262.  
  263.       One such choice is to display the data as bytes, words, or
  264. double words.   That is; 8 bit values, 16 bit values, or 32 bit
  265. values.   Whatever choice is made the value of the selected size
  266. will be displayed.   These values are referred to as units in
  267. this manual.   Thus the 'delete-forw-unit' command deletes the
  268. unit under the cursor.   If 32 bit units are being displayed then
  269. 4 bytes will be deleted.
  270.  
  271.       Many commands in BEAV start by pressing the 'ESCAPE' key.
  272. When this manual refers to a command that requires that the
  273. 'ESCAPE' key be pressed it will be abbreviated with 'Esc'.
  274. Another frequently used key stroke to start commands is 'CONTROL
  275. X'.   This in done by pressing the 'CONTROL' key then pressing
  276. the 'X' key at the same time.   In this manual this will be
  277. abbreviated by 'Ctl-X'.   Many commands contain other control
  278. characters and these will be abbreviates similarly.   Thus the
  279. 'insert-unit' command will be listed as 'Ctl-X I'.   This will be
  280. entered be pressing the CONTROL key and while holding it hitting
  281. the 'X' key, release the CONTROL key then hit the 'I' key.
  282.  
  283.  
  284.    2.2  The Screen Format
  285.    BEAV presents information to the user in a number of areas.
  286. The first is the window.   There will be at least one window
  287. displayed on the screen at all times.   The window consists of
  288. two areas.   The first is the display area.   This is where the
  289. data that is in the buffer is displayed.   Most of the time the
  290. cursor will be in this area, as this is where most editing is
  291. done.  Each line in the display area will start with a number
  292. that indicates the offset into the buffer for this line of data.
  293. At the bottom of the display area for each window is the status
  294. line.
  295.  
  296.      The status line presents the user with a number of specific
  297. pieces of information.   The first is the program name which is
  298. "BEAV".   Next there are some flags indicating the status of this
  299. particular buffer.
  300.  
  301.      The first flag indicates if the buffer has been damaged by a
  302. memory allocation failure.   If there is a '?' then the buffer is
  303.  
  304.  
  305.  
  306.                                 5
  307.  
  308.                       BEAV User Manual
  309.  
  310.  
  311. bad, otherwise there will be a space.   Bad buffers are set to
  312. read only.
  313.  
  314.      The next flag indicates if the buffer has been changed and
  315. will need to be written out if the changes are to be saved.
  316. This flag is a '*' if the buffer has been changed, otherwise
  317. there will be a space.
  318.  
  319.      The next flag indicates insert/overstrike mode; 'I' for
  320. insert, 'O' for overstrike.  This is only meaningful in ascii or
  321. ebcdic mode.
  322.  
  323.      Then the buffer name followed by the file name.   A window
  324. can be in read only, read/write, or read/write with size lock.
  325. These  will be displayed as [RO], [RW], or [WL] respectively.
  326. If auto-update is enabled then [AU] will be displayed.
  327.  
  328.      Next the cursor position in bytes and the character position
  329. within the unit.   The next piece of information gives the format
  330. that the data is being displayed in; HEX, OCTAL, DECIMAL, BINARY,
  331. ASCII, EBCDIC.   If a data mode is selected then the size in
  332. bytes (1, 2, 4) is displayed.  If the data is being  displayed
  333. in Intel mode then the swapped flag is displayed, 'S'.   Lastly
  334. the byte shift is displayed; 0 only for 8 bit data, 0 or 1 for 16
  335. bit data, or 0, 1, 2 or 3 for 32 bit data.
  336.  
  337.      There can be multiple windows on the screen at the same time
  338. but each window will have a status line at the bottom.
  339.  
  340.      The very bottom line on the screen is the prompt line.
  341. This is where you enter data that BEAV requests.   If you want to
  342. edit a new file you would type 'Ctl-X Ctl-V', BEAV would respond
  343. with "Visit file:" on the prompt line.   The cursor would be
  344. positioned after the prompt.   You would then enter the name of
  345. the file that you wished to edit.
  346.  
  347.      If you entered the command by mistake, you can abort the
  348. operation by typing a 'Ctl-G'.   'Control G' is a universal abort
  349. command and can be used anywhere.   If you want to perform a
  350. search you will enter the search string on this line.   When you
  351. have entered the information that BEAV has requested hit 'Return'
  352. and the cursor will return to it's original position in the
  353. window display area.   The prompt line is also where error
  354. messages are displayed.
  355.  
  356.  
  357.    2.3  Display Modes
  358.  
  359.       The data in the buffer can be displayed in a number of
  360. formats.   First there is the display mode.   This can be either;
  361. HEXADECIMAL, DECIMAL, OCTAL, BINARY, ASCII, or EBCDIC.
  362.  
  363.       If ASCII or EBCDIC mode is chosen then each byte in the
  364. buffer will be converted to it's ASCII or EBCDIC character and
  365.  
  366.  
  367.  
  368.                                 6
  369.  
  370.                       BEAV User Manual
  371.  
  372.  
  373. displayed.   Bytes that are outside of the standard character set
  374. will be displayed as a dot.   Each line will be 64 characters
  375. long.   The byte value for "carriage return" and "line feed" will
  376. be displayed as a dot as will any other non-printable characters.
  377.  
  378.       Within HEXADECIMAL, DECIMAL, OCTAL, or BINARY format the
  379. data can be displayed in 8, 16 or 32 bit values.   If 16 or 32 it
  380. values are displayed the user can choose to view these values in
  381. either the Intel format or the Motorola format.   If Intel format
  382. is chosen then the first byte in each unit is the least
  383. significant byte when the value is calculated.   Thus in hex 32
  384. bit mode a byte string of "32 7A 9F 10" would be displayed as
  385. "109F7A32".   If Motorola format is chosen this value would be
  386. displayed as "327A9F10".
  387.  
  388.       There is another display format choice that affects the 16
  389. or 32 bit formats.   This is called shift.   The shift can be 0
  390. or 1 for 16 bit modes, or 0, 1, 2, 3 for 32 bit modes.   Shift
  391. moves the zero point reference for the buffer up by the selected
  392. value.   The default is zero shift.   If a buffer is displaying
  393. the following 32 bit hex data;
  394.  
  395.            "12345678 2F4792AF 673DFEA1 88551199"
  396.  
  397. with the shift at 0.   Changing shift to 1 will produce;
  398.  
  399.            "3456782F 4792AF67 3DFEA188 55119955"
  400.  
  401. The data has been slid down toward the beginning of the buffer by
  402. one byte.   This has not changed the data in the buffer at all,
  403. it has only affected the way that the data is presented on the
  404. screen.   This is useful when looking at WORD or DOUBLE WORD data
  405. that is not aligned on two or four byte boundaries.
  406.  
  407.       When BEAV is first started or a new window is opened the
  408. default format is HEXADECIMAL BYTES.
  409.  
  410.  
  411.    2.4  Commands
  412.  
  413.       Commands are the means that the user controls the operation
  414. of BEAV.   A command can be given by using one of two methods.
  415. The first is to use the key binding.
  416.  
  417.      A command can have one or more associated key bindings.   It
  418. can also have no key binding.   There are a set of default key
  419. bindings that BEAV comes configured with.   The current set of
  420. key bindings can be seen by using the 'help' command.   The
  421. 'help' command is 'Esc ?' or Function Key 1 'F1' on the IBM PC.
  422. The help buffer can be scrolled by using the up and down arrow
  423. keys.   A printed copy may be obtained by going to the bottom of
  424. the help buffer using the 'move-to-end' command ('Esc >' or the
  425. 'End' key).   Then issue the 'print-mark-to-cursor' command ('Esc
  426. P' or 'Ctl-Print') and enter 'PRN' or a file name when prompted
  427.  
  428.  
  429.  
  430.                                 7
  431.  
  432.                       BEAV User Manual
  433.  
  434.  
  435. with "Print to:".   This will output the entire help buffer to a
  436. printer connected to the parallel interface or the specified
  437. file.
  438.  
  439.      The second method of issuing a command is to use the
  440. 'extended-command' command (Esc X).   You are prompted for a
  441. command name that you want to execute.   This method is useful
  442. for executing commands that have no key binding.   Commands that
  443. can take a long time to complete can be stopped by pressing Ctl-
  444. G.
  445.  
  446.  
  447.    2.5  Buffers
  448.  
  449.       Buffers are the in memory storage for all data editing and
  450. viewing.   Each buffer has a name that appears in the mode line.
  451. Buffers generally have a file name that is associated with them.
  452. The file name also appears in the mode line.   The buffer name
  453. and the file name are independent but the buffer name defaults to
  454. the file name.
  455.  
  456.       The buffer name is used to refer to a specific buffer.
  457. The 'change-buffer' ('Ctl-X B') command will prompt you for a
  458. buffer name.   After you enter a buffer name that buffer will be
  459. displayed in the current window.   If there is no such buffer,
  460. one will be created and displayed (it will be empty).
  461.  
  462.       When BEAV is run with a file name as a command line
  463. parameter, the file is read into a new buffer.  The buffer name
  464. will be made the same as the file name.   The file name is only
  465. used when the buffer is saved.   If the file name is changed
  466. using the 'buffer-set-file-name' ('Ctl-X Ctl-F') command then
  467. when the buffer is saved it will be saved to the new file.
  468.  
  469.       Buffers are dynamically allocated.   They grow or shrink as
  470. the size of the data they contain changes.   The buffer size can
  471. be frozen using the 'buffer-size-lock' ('Ctl-X Ctl-L') command.
  472. This prevents inserting or deleting data from the buffer but data
  473. can be modified.
  474.  
  475.       Buffers continue to exist even if they are not being
  476. displayed.   Buffers are saved in a linked list that can be
  477. stepped through using the 'change-to-next-buffer' ('Esc +') or
  478. 'change-to-prev-buffer' ('Esc -') commands.   If the 'change-to-
  479. next-buffer' command is given then the next buffer in the list is
  480. displayed in the current window.
  481.  
  482.  
  483.    2.6  Files
  484.  
  485.       Files are the means of storing data on disk.   Files or
  486. segments of files can be loaded into BEAV for editing or viewing.
  487. The file on the disk has not been changed until BEAV does a save
  488.  
  489.  
  490.  
  491.  
  492.                                 8
  493.  
  494.                       BEAV User Manual
  495.  
  496.  
  497. to that file.   When a save to a file is performed the original
  498. file contents in saved in a ".bak" file.
  499.  
  500.  
  501.    2.7  Key Binding
  502.  
  503.       All commands in BEAV have a command name and a default key
  504. binding.   The bindings may be changed to suit personal
  505. preference by using the 'bind-to-key' ('Esc K') command.   The
  506. current binding of a key sequence can be displayed by using the
  507. 'binding-for-key' ('Ctl-X ?') command.
  508.  
  509.       Key bindings can be loaded automatically from a file named
  510. ".beavrc" under UNIX or "beav.rc" under MSDOS.   I will refer to
  511. this file as the beavrc file in this document.   This file must
  512. be in a directory specified by the PATH environment variable.
  513. When BEAV is started this file is read and the bindings are
  514. loaded.   This file is a simple text file and can be edited to
  515. make changes.
  516.  
  517.       The beavrc file contains three columns.   The first is the
  518. function name to be bound.   The second is the key sequence that
  519. is bound to that function.   The third is a number that defines
  520. the key code.   When the beavrc file is read, in only the first
  521. and third columns are used.
  522.  
  523.       The simplest way to create a valid beavrc file is to first
  524. bind the key codes to the desired functions using the 'bind-to-
  525. key' command (Esc K).   Next display the current bindings in a
  526. window using the 'help' command (Esc ?).   Now save that buffer
  527. to a file with the 'file-write' command (Ctl-X Ctl-W).   You will
  528. be prompted for a file name.   The file written is a valid beavrc
  529. file.   You may want to edit the beavrc file to remove the
  530. commented lines, ie, those beginning with #, to make it load
  531. faster.
  532.  
  533.       On UNIX systems there can be multiple .beavrc files, one
  534. for each terminal type.   This is accomplished by appending the
  535. TERM variable to .beavrc.   Thus if you use both a vt100 and a
  536. wyse60 terminal, you could have a .beavrc.wy60 and a
  537. .beavrc.vt100 bindings file.   When your TERM variable is
  538. TERM=wy60 then the .beavrc.wy60 bindings file will be used.   If
  539. there is no .beavrc.wy60 file then the .beavrc file will be used.
  540.  
  541.  
  542.    2.8  Configuration
  543.  
  544.       When the MSDOS version of BEAV run it detects whether the
  545. system is an IBM PC or a clone.   If a PC is detected then a set
  546. of key bindings that use the 10 function keys and the relevant
  547. keypad keys are loaded.   If the system is not recognized then
  548. only the standard bindings are loaded.
  549.  
  550.  
  551.  
  552.  
  553.  
  554.                                 9
  555.  
  556.                       BEAV User Manual
  557.  
  558.  
  559.       If a PC is detected the screen is managed by making BIOS
  560. level calls that enhance performance.   Otherwise, the screen is
  561. controlled by making ANSI compatible calls to the operating
  562. system.   This is much slower but is not sensitive to hardware
  563. configuration.   This requires that non-standard MSDOS systems
  564. support ANSI display controls.   The following ANSI escape
  565. sequences are used;
  566.  
  567.       Position cursor          ESC [ <row> ; <column> H
  568.  
  569.       Erase to end of line     ESC [ 0 K
  570.  
  571.       Erase to end of page     ESC [ 0 J
  572.  
  573.       Normal video             ESC [ 0 m
  574.  
  575.       Reverse video            ESC [ 7 m
  576.  
  577.       On unix systems the termcap library is used.   This
  578. requires that the TERM environment variable be set correctly.
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.                                10
  617.  
  618.                       BEAV User Manual
  619.  
  620.  
  621.  3. Command Description
  622.  
  623.       This section describes all BEAV commands as to their
  624. function and any side effects that they may have.   The first
  625. line of each description of a command will begin with the default
  626. key binding then the command name and follows with the key
  627. binding for a PC.
  628.  
  629.  
  630.    3.1             Help
  631.  
  632.       This command returns information that will aid in the use
  633. of BEAV.
  634.  
  635.       Esc ?          help                     F1
  636.  
  637.       A new window is opened by splitting the current window then
  638. all current key bindings are displayed.   This buffer is larger
  639. than can be shown at one time and must be scrolled up and down to
  640. see all entries.    All commands that do not alter data can be
  641. used to move around and search the help buffer.   To leave the
  642. help buffer use the 'window-delete' command ('Ctl-X 0').
  643.  
  644.       Lines that begin with the comment character (#) are
  645. commands that have the default bindings.   Lines without the
  646. comment character have been bound by the user or by processing a
  647. beavrc file.   The comment character helps in creating a beavrc
  648. file by identifying only those bindings that have changed.
  649.  
  650.  
  651.    3.2             Cursor Movement
  652.  
  653.       There are a number of commands that move the cursor around
  654. the current window.   If the cursor bumps the top or the bottom
  655. of the window the position of the window will be adjusted so as
  656. to keep the cursor within the bounds.   When the window is moved
  657. in response to cursor movements it is moved by about one third of
  658. the window size.   This improves performance by reducing the
  659. number of window moves.
  660.  
  661.       Ctl-P     move-back-line      North (up arrow)
  662.       Ctl-N     move-forw-line      South (down arrow)
  663.  
  664.       These commands move the cursor up one line or down one
  665. line.   If the cursor is on the top line in the buffer and a
  666. 'move-back-line' command is given the cursor will jump to the
  667. beginning of the first unit in the buffer.   If the cursor is on
  668. the last line of the buffer and a 'move-forw-line' is given the
  669. cursor will move to the last unit in the buffer.
  670.  
  671.       Ctl-F     move-forw-char     East (right arrow)
  672.       Ctl-B     Move-back-char     West (left arrow)
  673.  
  674.  
  675.  
  676.  
  677.  
  678.                                11
  679.  
  680.                       BEAV User Manual
  681.  
  682.  
  683.       These commands move the cursor forward or backward in the
  684. current line.   If the cursor is at the first character in the
  685. first unit of the line and the 'move-back-char' command is given
  686. then the cursor will wrap to the last character of the previous
  687. line.   If the cursor is at the last character of the last unit
  688. in the current line then it will wrap to the first character of
  689. the next line.
  690.  
  691.       Esc F          move-forw-unit     Ctl-East
  692.       Esc B          move-back-unit     Ctl-West
  693.  
  694.       These commands are similar to the above set but they move
  695. the cursor by units rather than characters.   The command 'move-
  696. forw-unit' will position the cursor to the first character of the
  697. next unit.   The command 'move-back-unit' will move the cursor to
  698. the first character of the previous unit.
  699.  
  700.       Ctl-V          move-forw-page     PageUp
  701.       Esc V          move-back-page     PageDown
  702.  
  703.       These commands move the move the data in the window by the
  704. number of lines in the window less one.   The cursor will stay in
  705. the same position relative to the window as the data is moved.
  706.  
  707.       Esc <          move-to-beginning  Home
  708.       Esc >          move-to-end        End
  709.  
  710.       Move the cursor to the beginning or the end of the buffer.
  711.  
  712.       Ctl-X G        move-to-byte       F9
  713.  
  714.       Prompt for a byte offset, then go to that position in the
  715. current buffer.
  716.  
  717.       Ctl-X Ctl-N    move-window-down   Ctl-Z
  718.       Ctl-X Ctl-P    move-window-up     Esc Z
  719.  
  720.       Move the buffer in the window up or down by one line.
  721. This does not effect the cursor until it hits the top or bottom
  722. of the window.
  723.  
  724.       Esc .          mark-set           F2
  725.  
  726.       Set the mark position to the current cursor position.   The
  727. mark position is remembered even for nonactive windows and
  728. buffers.
  729.  
  730.       Ctl-X Ctl-X    swap-cursor-and-mark
  731.  
  732.       The position of the cursor and the position of the mark are
  733. swapped.
  734.  
  735.       Esc L          window-link
  736.  
  737.  
  738.  
  739.  
  740.                                12
  741.  
  742.                       BEAV User Manual
  743.  
  744.  
  745.       This command causes all windows that are displaying the
  746. contents of the current buffer to have the same cursor position.
  747. Thus if one window is scrolled then all other windows that
  748. display that buffer are scrolled so as to keep the cursor in the
  749. window.
  750.  
  751.       Ctl-X =        show-position
  752.  
  753.       The current position of the cursor and the mark are
  754. displayed.   The buffer size, file size and file name are also
  755. shown.
  756.  
  757.  
  758.    3.3             Buffer Management
  759.  
  760.       Buffers store all data that is being edited.   The only
  761. limit to the number of buffers is the size of available memory.
  762. If a file is loaded into a buffer and there is insufficient
  763. memory to hold the entire file, then it will be loaded until
  764. memory is exhausted.   The buffer will then be set to read only
  765. mode.
  766.  
  767.       Ctl-X Ctl-B    buffers-display    Ctl-F1
  768.  
  769.       A new window is opened and a list of all buffers in BEAV is
  770. displayed.   The list contains the buffer name, the file name (if
  771. it exists), the buffer size, and a state flag.   If the list is
  772. too large for the window, you can scroll the list.   If you
  773. position the cursor on a line describing a buffer and give the
  774. set-mark (Esc .) command you will be prompted to; Go to, Kill, or
  775. Save that buffer.
  776.  
  777.       Ctl-X B        change-buffer      Ctl-F2
  778.  
  779.       This command prompts you for a buffer name.   If you enter
  780. the name of an existing buffer, that buffer will be displayed in
  781. the current window.   If the name does not match an existing
  782. buffer, a new buffer will be created and displayed.   This buffer
  783. will be empty and will have no file name.
  784.  
  785.       Esc +          change-to-next-buffer    Ctl-F4
  786.       Esc -          change-to-prev-buffer    Ctl-F5
  787.  
  788.       The next or the previous buffer in the buffer list is
  789. displayed in the current window.   This does not effect buffers
  790. that are displayed in other windows.
  791.  
  792.       Esc G          move-to-buffer-split
  793.  
  794.       Prompt for a buffer name.   Then split the current window
  795. and display that buffer, creating it if necessary.
  796.  
  797.       Esc Ctl-N      buffer-set-name    Esc Ctl-N
  798.  
  799.  
  800.  
  801.  
  802.                                13
  803.  
  804.                       BEAV User Manual
  805.  
  806.  
  807.       The current buffer name is changed to the name that you
  808. enter.   This does not effect the file name.
  809.  
  810.       Ctl-X Ctl-F    buffer-set-file-name     Ctl-F7
  811.  
  812.       The file name of the current buffer is changed to the name
  813. that you enter.   This does not affect the buffer name.
  814.  
  815.       Ctl-X K        kill-buffer        Ctl-F3
  816.  
  817.       This command prompts you for a buffer name.   This buffer
  818. is then deleted.   If the buffer is currently being displayed you
  819. are prompted for conformation.   If the buffer has been changed
  820. you are again prompted for conformation.
  821.  
  822.       Ctl-X Ctl-L    buffer-size-lock
  823.  
  824.       The buffer size is prevented from being changed.   Data can
  825. be edited but only by changing the existing data.   If a buffer
  826. is copied into a size-locked buffer the operation well be
  827. successful but will overwrite existing data.   This command
  828. toggles between locked and unlocked.
  829.  
  830.       Esc Y          yank-buffer        Ctl-F6
  831.  
  832.       Data from one buffer is inserted into the current buffer at
  833. the cursor position.   You are prompted for the name of the
  834. buffer to copy from.
  835.  
  836.       Esc O          save-mark-to-cursor
  837.  
  838.       Prompt for a buffer name.   Create a new buffer with that
  839. name and write the data from the mark to the cursor into that
  840. buffer.
  841.  
  842.       Esc Ctl-W      show-save-buf
  843.  
  844.       Displays the contents of the save buffer in a new window.
  845. The save buffer cannot be edited.   This command can be used to
  846. see the data that the yank (Ctl-Y) command will insert into the
  847. current buffer.
  848.  
  849.  
  850.    3.4             File Management
  851.  
  852.       These commands control BEAV's access to files.   Files are
  853. loaded into buffers or are written from buffers.   Commands that
  854. prompt for a file name also accept range parameters.   Range
  855. parameters are always given in the numeric base of the current
  856. window.   Thus if you are displaying data in decimal format then
  857. the range parameters must be entered in decimal.
  858.  
  859.       The size of a file read or write can be limited by
  860. specifying a range.   The range parameter specifies the offset
  861.  
  862.  
  863.  
  864.                                14
  865.  
  866.                       BEAV User Manual
  867.  
  868.  
  869. into the file, not the buffer.   Range parameters can be
  870. specified in these forms;
  871.  
  872.       <file name> <start address>
  873.  
  874.       <file name> <start address> <end address>
  875.  
  876.       <file name> <start address> +<length>
  877.  
  878.       The first form causes the read or write to begin from the
  879. <start address> value until the end of the buffer on write or the
  880. end of the file on read.
  881.  
  882.       The second form reads or writes from <start address> until
  883. <end address> non-inclusive.
  884.  
  885.       The third form reads or writes from <start address> for
  886. <length> bytes.
  887.  
  888.       Thus, if the command 'file-read' is given and you enter at
  889. the prompt;   main.obj 1000 +100.   If the current display mode
  890. is hex, the file "main.obj" will be read from hex byte address
  891. 1000 to 10FF into the buffer.
  892.  
  893.       Ctl-X Ctl-R    file-read          Sh-F2
  894.  
  895.       Prompt for a file name and read that file into the current
  896. buffer.   This overwrites the current contents of the buffer.
  897. The buffer name is not changed but the buffer file name is set to
  898. the new file name.
  899.  
  900.       Ctl-X Ctl-S    file-save          Sh-F3
  901.  
  902.       Write the current buffer out to the file if it has been
  903. changed.   If the buffer has not been changed then do nothing.
  904.  
  905.       Ctl-X V        file-view
  906.  
  907.       Prompt for a file name and read file into a new buffer and
  908. display in current window.   Set to read-only mode.
  909.  
  910.       Ctl-X Ctl-V    file-visit         Sh-F4
  911.  
  912.       Prompt for a file name.   If the buffer already exists then
  913. display it in the current window.   Otherwise, read file into a
  914. new buffer and display in current window.   If there is no such
  915. file then create it.
  916.  
  917.       Esc U          file-visit-split
  918.  
  919.       Same as above but split current window and display new
  920. buffer.   This displays the new buffer as well as the old buffer.
  921.  
  922.       Ctl-X Ctl-W    file-write         Sh-F5
  923.  
  924.  
  925.  
  926.                                15
  927.  
  928.                       BEAV User Manual
  929.  
  930.  
  931.  
  932.       Prompt for a file name, then write the current buffer to
  933. that file.
  934.  
  935.       Ctl-X Tab      insert-file        Sh-F8
  936.  
  937.       Prompt for a file name and insert that file into the
  938. current buffer at the cursor position.
  939.  
  940.       Ctl-X Return   save-all-buffers   Sh-F6
  941.  
  942.       Write all buffers that have been changed to their
  943. respective files.
  944.  
  945.  
  946.    3.5             Window Management
  947.  
  948.       BEAV presents information to the user in one or more
  949. windows.   Each window is a view into a buffer where the data is
  950. actually stored.   The window controls how this data is formatted
  951. for display to the user.   Data can be displayed as HEX bytes,
  952. OCTAL bytes, ASCII characters, plus many others.   The display
  953. format is associated with the window.   Thus if a new buffer is
  954. displayed in the current window that new data will be displayed
  955. in the current windows format.
  956.  
  957.       The only limit to the number of windows is the screen size.
  958. A window can be no smaller than two lines.   This along with the
  959. mode line associated with each window limits to eight the number
  960. of windows on an IBM PC 25 line screen.
  961.  
  962.       Any window can view any buffer including having many
  963. windows on the same buffer.   For example, two windows can
  964. display the same buffer but present the data in two different
  965. modes.   One window could display HEX bytes and the other could
  966. display ASCII characters.
  967.  
  968.       Ctl-P       change-window-back    Ctl-PageUp
  969.       Ctl-N       change-window-forw    Ctl-PageDown
  970.  
  971.       These commands move the cursor to the next or previous
  972. window on the screen, making it the current window.
  973.  
  974.       Ctl-X Z        window-enlarge
  975.       Ctl-X Ctl-Z    window-shrink
  976.  
  977.       Enlarge or shrink the current window size by one line.
  978.  
  979.       Esc !          window-reposition
  980.  
  981.       Move window position so that the cursor is centered in the
  982. window.   The cursor position in the buffer does not change.
  983.  
  984.       Ctl-X 2        window-split
  985.  
  986.  
  987.  
  988.                                16
  989.  
  990.                       BEAV User Manual
  991.  
  992.  
  993.  
  994.       Split the current window into equal parts.   Both haves
  995. have the same display mode and view the save buffer.
  996.  
  997.       Ctl-X 1        window-single
  998.  
  999.       Expand the current window to fill the entire display, all
  1000. other windows are removed.   Make the current window the only
  1001. window displayed.   This has no effect on the underlying buffers
  1002. except that they may not be displayed any more.
  1003.  
  1004.       Ctl-X 0        window-delete
  1005.  
  1006.       Delete the current window and expand the upper window to
  1007. fill the space.   This has no effect on the underlying buffer
  1008. except that it may not be displayed any more.
  1009.  
  1010.       Esc Ctl-A      display-ascii
  1011.       Esc Ctl-E      display-ebcdic
  1012.       Esc Ctl-H      display-hex
  1013.       Esc Ctl-O      display-octal
  1014.       Esc Ctl-D      display-decimal
  1015.       Esc Ctl-B      display-binary
  1016.  
  1017.       These commands set the window display mode.   Text buffers
  1018. can be displayed as ASCII or EBCDIC characters.   Buffers that
  1019. are not human readable can also be displayed in hexadecimal,
  1020. octal, decimal, or binary format.
  1021.  
  1022.       Esc 1          display-bytes
  1023.       Esc 2          display-words
  1024.       Esc 4          display-double-words
  1025.  
  1026.       As a further option on the non-text display modes, data can
  1027. be displayed as 8, 16, or 32 bit values.
  1028.  
  1029.       Ctl-E          display-swap-order
  1030.  
  1031.       When data is displayed as words or double words the order
  1032. of significance can be changed.   In Intel microprocessors the
  1033. least significant byte of a word is stored at the lowest address.
  1034. Thus if the word 5892 (HEX) were stored at memory address 10,
  1035. then 92 (HEX) would be stored at address 10 and 58 (HEX) would be
  1036. stored at address 11.   In Motorola microprocessors the reverse
  1037. is true.
  1038.       This command toggles between the Intel and Motorola schemes
  1039. of assembling bytes into words and double words.   This command
  1040. has no effect on byte display or on the text display modes.   The
  1041. data in the buffer is not changed.
  1042.  
  1043.       Ctl-A          display-byte-shift
  1044.  
  1045.       This command changes the offset from the beginning of the
  1046. buffer used to assemble words and double words.   The default
  1047.  
  1048.  
  1049.  
  1050.                                17
  1051.